package com.restaurant.service;

import com.restaurant.bean.User;
import com.restaurant.util.Result;

/**
 * @author OUOrder
 */
public interface UserService {
    /**
     * 根据用户id获取用户
     * @param uid
     * @return 封装用户对象，状态码，提示信息的结果类
     */
    public Result getUser(int uid);

    /**
     * 根据用户邮箱获取对应的用户对象，并把获取到的对象封装到结果类result
     * 需要判断邮箱不存在和邮箱存在密码不对两种情况
     * Result（封装是静态方法，可直接调用）
     * 200表示成功，其它具体问题具体分析
     * @param email
     * @param password
     * @return 封装用户对象，状态码，提示信息的结果类
     */
    public Result getUserByEmail(String email,String password);

    /**
     * 根据用户手机号获取对应的用户对象，并把获取到的对象封装到结果类result
     * @param phone
     * @param password
     * @return 封装用户对象，状态码，提示信息的结果类
     */
    public Result getUserByPhone(String phone,String password);

    /**
     * 根据swing传过来的user对象添加用户
     * 添加成功返回Result对象
     * @param user
     * @return 封装状态码，提示信息的结果类
     */
    public Result addUser(User user);

    /**
     * 修改用户数据
     * @param user
     * @return 封装状态码，提示信息的结果类
     */
    public Result setUser(User user);

    /**
     * 判断是手机号还是邮箱，然后分别调用
     * @param phone
     * @param password
     * @return 封装状态码，提示信息的结果类
     */
    public Result isPhoneOrEmail(String phone,String password);

    /**
     * 判断是手机号还是邮箱，然后根据这个添加
     * @param name
     * @param phone
     * @param pwd
     * @return 封装状态码，提示信息的结果类
     */

    public Result addUser(String name,String phone, String pwd);

    public Result getBalance(String phone,double balance);

    public Result setUserBalance(String phone,double balance);
}
